package com.health.warehouse.model.dto;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * @author zhexueqi
 * @ClassName AddWareHouseRequest
 * @since 2024/9/1    18:22
 */
@Data
public class AddWareHouseRequest {

    /**
     * 仓库名称
     */
    @NotBlank(message = "仓库名称不能为空")
    @Schema(description = "仓库名称", example = "仓库1")
    private String warehouseName;

    /**
     * 所属医院id
     */
    @Schema(description = "所属医院id", example = "1")
    @NotNull(message = "所属医院id不能为空")
    @Min(value = 1, message = "所属医院id必须大于0")
    private Long hospitalId;

    /**
     * 仓库地址
     */
    @Schema(description = "仓库地址", example = "北京市海淀区西二旗")
    @NotBlank(message = "仓库地址不能为空")
    private String location;

    /**
     * 仓库容量
     */
    @Schema(description = "仓库容量", example = "1000")
    @NotNull(message = "仓库容量不能为空")
    @Min(value = 1, message = "仓库容量必须大于0")
    private Integer capacity;

    /**
     * 仓库负责人姓名
     */
    @Schema(description = "仓库负责人姓名", example = "张三")
    @NotBlank(message = "仓库负责人姓名不能为空")
    private String managerName;

    /**
     * 联系电话
     */
    @Schema(description = "联系电话", example = "13811111111")
    @NotBlank(message = "联系电话不能为空")
    private String contactPhone;

    /**
     * 仓库库存预警阈值
     * 库存低于该值时，系统会发送预警通知
     */
    @Schema(description = "仓库库存预警阈值", example = "100")
    @NotNull(message = "仓库库存预警阈值不能为空")
    @Min(value = 1, message = "仓库库存预警阈值必须大于0")
    private Integer warningThreshold;
}
